package day05;

import day05.Emp;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

/**
 * 要求用户输入若干员工信息，格式为：
 * name,age,gender,salary,hiredate;name,age,gender,salary,hiredate;....
 * 例如:
 * 张三,25,男,5000,2006-02-15;李四,26,女,6000,2007-12-24;...
 * 然后将每个员工信息解析成Emp对象。并存入到一个List集合中。
 * 并对集合排序，然后输出每个员工信息。
 * 
 * 再根据员工的入职时间排序，入职晚的在前，早的在后并
 * 输出每个员工的信息。
 * @author Bonnie
 *
 */
public class Test03 {
    public static void main(String[] args) throws ParseException {
        System.out.println("请输入员工信息");
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        ArrayList list = new ArrayList<>();
        Scanner sc=new Scanner(System.in);
        String s = sc.next();
        String[] split = s.split(";");
        for (int i = 0; i < split.length; i++) {
            String[] split1 = split[i].split(",");
            Emp p= new Emp(split1[0],Integer.parseInt(split1[1]),split1[2],
                    Integer.parseInt(split1[3]),simpleDateFormat.parse(split1[4]));
            list.add(p);
        }
        Collections.sort(list);
        System.out.println("根据年龄排序");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
        Collections.sort(list, new Comparator<Emp>() {
            @Override
            public int compare(Emp o1, Emp o2) {
                return (int) (o1.getHiredate().getTime()-o2.getHiredate().getTime());
            }
        });
        System.out.println("根据入职时间排序");
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }
    }
}
